| class ARRAY3{T} < $ELT{T} |
|---|
| **** | Three-dimensional arrays of elements of type T. |
| $ELT{_} | $ELT | AREF{_} |
| attr size1:INT; |
|---|
| **** | Size of the slowest changing dimension. multiplication in accessing the array |
| attr size2:INT; |
|---|
| **** | Size of the second fastest changing dimension. multiplication in accessing the array |
| attr size3:INT; |
|---|
| **** | Size of the fastest changing dimension. multiplication in accessing the array |
| aclear .. Included as aclear |
|---|
| **** | Set each element of self to nil. Built-in. |
| aget(i1,i2,i3:INT):T |
|---|
| **** | The element with indices `[i1,i2,i3]'. |
| array_ptr:C_PTR .. Included as array_ptr |
|---|
| aset(i1,i2,i3:INT,val:T) |
|---|
| **** | Set the element with indices `[i1,i2,i3]' to val. |
| copy: SAME |
|---|
| **** | Return a new 3D array with the same set of values as self |
| create(a: ARRAY{ARRAY{ARRAY{T}}}): SAME |
|---|
| create(d1,d2,d3:INT):SAME |
|---|
| **** | A new three-dimensional array with dimensions `d1 x d2 x d3' initialized to void. |
| nc: INT |
|---|
| **** | The size of the second dimension of the array. Number of cols |
| ne: INT |
|---|
| **** | The size of the third dimension of the array. Number of elements |
| nr: INT |
|---|
| **** | The size of the first dimension of the array. Number of rows |
| to_transpose_of(a1:SAME) |
|---|
| **** | Set self to the transpose of a1. |
| transpose: SAME |
|---|
| **** | Return a new array containing the transpose of self |
| col_elt!(once col,once elem:INT):T |
|---|
| **** | Yield elements by varying index 1 and holding index 2 at `col' and index 3 at `elem'. The elements of a "column" col
______loop_yield(aelt!(col,nr,nc));_end_end; |
| col_ind!:INT |
|---|
| **** | Yield each value of the second index in order. The columns |
| diag_elt!: T |
|---|
| **** | Yield values along the diagonal (square in smaller dimension) |
| elem_elt!(once row,once col:INT):T |
|---|
| **** | Yield elements by varying index 3 and holding index 2 at `col' and index 1 at `row'. The elements of a "elements (third dimension)" elem |
| elem_ind!:INT |
|---|
| **** | Yield each value of the third index in order. The elements |
| elt!: T |
|---|
| **** | Yield all elements in row major order |
| elt1!(once col,once elem:INT):T |
|---|
| **** | Yield elements by varying index 1 and holding index 2 at `col' and index 3 at `elem'. The elements of a "column" col
______loop_yield(aelt!(col,nr,nc));_end_end; |
| elt2!(once row,once elem:INT):T |
|---|
| **** | Yield elements by varying index 2 and holding index 1 at `row' and index 3 at `elem'. The elements of a row "row"
______loop_yield(aelt!(row*nc,nc,1));_end_end; |
| elt3!(once row,once col:INT):T |
|---|
| **** | Yield elements by varying index 3 and holding index 2 at `col' and index 1 at `row'. The elements of a "elements (third dimension)" elem |
| ind1!: INT |
|---|
| **** | Yield each value of the first index in order. The rows |
| ind2!:INT |
|---|
| **** | Yield each value of the second index in order. The columns |
| ind3!:INT |
|---|
| **** | Yield each value of the third index in order. The elements |
| inds!:TUP{INT,INT,INT} |
|---|
| **** | Yield tuples of the indices of self in lexicographical order. |
| row_elt!(once row,once elem:INT):T |
|---|
| **** | Yield elements by varying index 2 and holding index 1 at `row' and index 3 at `elem'. The elements of a row "row"
______loop_yield(aelt!(row*nc,nc,1));_end_end; |
| row_ind!: INT |
|---|
| **** | Yield each value of the first index in order. The rows |
| set!(val:T) |
|---|
| **** | Set all elements in row major order |
| set1!(once col,once elem:INT, val:T) |
|---|
| **** | Set to val elements with varying index 1 and index 2 fixed at `col' and index 3 fixed at `elem'. i.e. setting the column col
______loop_aset!(col,nr,nc,val);_yield_end_end; |
| set2!(once row,once elem:INT, val:T) |
|---|
| **** | Set to val elements with varying index 2 and index 1 fixed at `row' and the index 3 fixed at `elem'. i.e. setting a row "row"
______loop_aset!(row*nc,nc,val);_yield_end_end; |
| set3!(once row,once col:INT, val:T) |
|---|
| **** | Set to val elements with varying index 1 and index 2 fixed at `col' and index 3 fixed at `elem'. i.e. setting the column col
______loop_aset!(col,nr,nc,val);_yield_end_end; |
| set_col!(once col,once elem:INT, val:T) |
|---|
| **** | Set to val elements with varying index 1 and index 2 fixed at `col' and index 3 fixed at `elem'. i.e. setting the column col
______loop_aset!(col,nr,nc,val);_yield_end_end; |
| set_diag_elt!(val:T) |
|---|
| **** | Set values along the diagonal (square in smaller dimension) |
| set_elem!(once row,once col:INT, val:T) |
|---|
| **** | Set to val elements with varying index 1 and index 2 fixed at `col' and index 3 fixed at `elem'. i.e. setting the column col
______loop_aset!(col,nr,nc,val);_yield_end_end; |
| set_row!(once row,once elem:INT, val:T) |
|---|
| **** | Set to val elements with varying index 2 and index 1 fixed at `row' and the index 3 fixed at `elem'. i.e. setting a row "row"
______loop_aset!(row*nc,nc,val);_yield_end_end; |
| acopy(src:SAME) .. Included as acopy |
|---|
| **** | Copy as many elements from `src' to self as will fit. Built-in. |
| acopy(beg:INT, src:SAME) .. Included as acopy |
|---|
| **** | Copy as many elements from `src' to self as will fit when starting at index `beg' of self. |
| acopy(beg,num:INT, src:SAME) .. Included as acopy |
|---|
| **** | Copy `num' elements from `src' to self starting at index `beg' of self. |
| acopy(beg,num,srcbeg:INT, src:SAME) .. Included as acopy |
|---|
| **** | Copy `num' elements from `src' to self starting at index `beg' of self and index `srcbeg' of `src'. Built-in. |
| aelt!(once beg:INT):T .. Included as aelt! |
|---|
| **** | Yield each element of self starting at `beg'. Built-in. |
| aelt!(once beg,once num:INT):T .. Included as aelt! |
|---|
| **** | Yield `num' successive elements of self starting at index `beg'. Built-in. |
| aelt!(once beg,once num,once step:INT):T .. Included as aelt! |
|---|
| **** | Yield `num' elements of self starting at `beg' and stepping by `step' which must not be zero. Built-in. |
| aelt!:T .. Included as aelt! |
|---|
| **** | Yield each element of self in order. Built-in. |
| aget(ind:INT):T .. Included as aget |
|---|
| **** | The element of self with index `ind'. Built-in. |
| aind!:INT .. Included as aind! |
|---|
| **** | Yield the indices of self in order. |
| aset!(val:T) .. Included as aset! |
|---|
| **** | Set successive elements of self to the values `val'. Built-in. |
| aset!(once beg:INT,val:T) .. Included as aset! |
|---|
| **** | Set successive elements of self starting at `beg' to the values `val'. |
| aset!(once beg,once num:INT,val:T) .. Included as aset! |
|---|
| **** | Set `num' successive elements of self starting at `beg' to the values `val'. |
| aset!(once beg,once num,once step:INT, val:T) .. Included as aset! |
|---|
| **** | Set `num' elements of self starting at `beg' stepping by `step' to the values `val'. `step' must not be zero. |
| aset(ind:INT, val:T) .. Included as aset |
|---|
| **** | Set the element of self with index `ind' to `val'. Built-in. |
| asize:INT .. Included as asize |
|---|
| **** | The number of elements in self. Classes which inherit this may replace this by a constant to get constant sized objects (and the compiler may optimize certain operations in this case). Built-in. |
| create(n:INT):SAME .. Included as create |
|---|
| **** | A new array with `n' elements. |
| is_legal_aelts_arg( beg, num, step:INT) :BOOL .. Included as is_legal_aelts_arg |
|---|
| **** | True if the arguments are legal values for `aelts'. |
| attr size1:INT; |
|---|
| **** | Size of the slowest changing dimension. multiplication in accessing the array |
| attr size2:INT; |
|---|
| **** | Size of the second fastest changing dimension. multiplication in accessing the array |
| attr size23:INT; |
|---|
| **** | size2*size3, pre-multiplied to spare a multiplication in accessing the array |
| attr size23:INT; |
|---|
| **** | size2*size3, pre-multiplied to spare a multiplication in accessing the array |
| attr size3:INT; |
|---|
| **** | Size of the fastest changing dimension. multiplication in accessing the array |